ZKPの計算 クライアント vs サーバー
gpt.iconより
クライアント側とサーバー側の両方で計算が行われる場合がある
証明スキームやライブラリによって違うと考えられる
クライアント側
ZKPの文脈では、証明者(クライアント側になり得る)は、実際の情報を明らかにすることなく、知識の証明を計算します。このプロセスは、特定の情報の真実性を情報自体を開示することなく主張する暗号学的証明を生成することを含みます。
サーバー側(またはバックエンド)
検証者(サーバーや分散システムの別の部分になり得る)は証明を受け取り、検証します。これには元のデータを明らかにすることなく、公開計算(例えば、ブロックチェーン上のスマートコントラクト)に対して暗号学的証明をチェックすることが含まれます。ZKPの検証に必要な計算の強度は、生成よりも通常は少ないですが、特に複雑な証明や、システムが大量の検証を扱う必要がある場合は、それでもかなりの処理が必要です。
Circomのようなより複雑なゼロ知識証明(多項式計算やより複雑な回路を含む)の場合、証明の生成は計算が集中的であり、クライアント側で行われることがありますが、必要なリソースを考慮して、時にはより強力なバックエンドシステムやネットワーク内の特化したノードにオフロードされることもあります。